.PHONY:all
all:liboutput.a liboutput.so
# 静态库
liboutput.a:myprint.o mymath.o
# .a:静态库后缀
	ar -rc liboutput.a myprint.o mymath.o
	# ar:归档
	# -rc: 
	#  		r:replace
	#  		c:creat
	
myprint.o:myprint.c
	gcc -c myprint.c -o myprint.o
	# -c:编译
mymath.o:mymath.c
	gcc -c mymath.c -o mymath.o

# 动态库
liboutput.so:myprint_d.o mymath_d.o
	gcc -shared -o liboutput.so myprint_d.o mymath_d.o
	
myprint_d.o:myprint.c
	gcc -fPIC -c myprint.c -o myprint_d.o
	# -c:编译
	# -fPIC:生成与位置无关的二进制文件

mymath_d.o:mymath.c
	gcc -fPIC -c mymath.c -o mymath_d.o

.PHONY:output
output:
	mkdir -p output/lib
	mkdir -p output/include
	cp *.h output/include
	cp *.a output/lib
	cp *.so output/lib

.PHONY:clean 
clean:
	rm -f *.o *.a *.so
